Conversation
The overlay previously ran box-shadowed pulse rings on an infinite animation and a per-frame requestAnimationFrame loop for position tracking — both kept the compositor busy for the entire tour step and caused noticeable slowdown on weak GPUs (older Windows hardware, 8GB RAM and underpowered CPUs). - Pulse phase is now bounded: three staggered rings (~3.2s ripple) instead of an infinite loop. - Settled state is a deliberate focus halo (two soft radial-gradient annuli with transparent centers + crisp 2px ring around the icon) rather than three thin outline rings that read as a stalled ripple. - Position tracking switches to ResizeObserver + scroll/resize listeners once the target is laid out; rAF is only a short poll for not-yet-rendered targets. - Step transitions replay the ripple to settle sequence at the new target via a class-toggle + reflow, so steps 2-4 get a fresh ripple instead of inheriting the previous step's settled rings.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



The overlay previously ran box-shadowed pulse rings on an infinite
animation and a per-frame requestAnimationFrame loop for position
tracking — both kept the compositor busy for the entire tour step and
caused noticeable slowdown on weak GPUs (older Windows hardware, 8GB
RAM and underpowered CPUs).
instead of an infinite loop.
annuli with transparent centers + crisp 2px ring around the icon)
rather than three thin outline rings that read as a stalled ripple.
listeners once the target is laid out; rAF is only a short poll
for not-yet-rendered targets.
target via a class-toggle + reflow, so steps 2-4 get a fresh ripple
instead of inheriting the previous step's settled rings.